package testPackage.testPackage;

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import java.util.concurrent.TimeUnit;

/**
 * step by step 12 处理警报(了解)
 * 可以使用Alter类在Selenium webDriver中处理警报。
 * 通过单击生成警报框和确认生成警报框来生成警报，
 * 并使用警报类方法来接受和关闭它们。
 */
public class Selenium13 {
    public static void main(String[] args) {

    }
    //处理警报的方法
    public void alterAutomation() throws InterruptedException {
        String str = "D:\\\\Enviroments\\\\geckodriver-v0.26.0-win64\\\\chromedriver.exe";
        System.setProperty("webdriver.chrome.driver", str);
        WebDriver driver = new ChromeDriver();
        //等待10s
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.get("https://tb.alicdn.com/snapshot/index.html");
        driver.manage().window().maximize();
        //单击生成弹框的按钮
        driver.findElement(By.cssSelector("div#AlterBox button")).click();
        Thread.sleep(3000);
        //复制弹框中的内容
        Alert alter = driver.switchTo().alert();
        //接受弹框警报
        alter.accept();
        //点击确认生成警报弹框
        driver.findElement(By.cssSelector("div#ConfirmBox button")).click();
        Thread.sleep(3000);
        Alert confirmBox = driver.switchTo().alert();
        //接收confirmBox
        confirmBox.dismiss();
    }
}
